﻿using System;
namespace Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik {
    
    
    [global::Xtee.Core.Attributes.XmlTypeAttribute(Name="MakseRekvisiidid", Namespace="http://producers.etoimik.xtee.riik.ee/producer/etoimik", Target=typeof(MakseRekvisiidid))]
    public class MakseRekvisiididSerializer : global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.KontoSerializer {
        
        public MakseRekvisiididSerializer(IMakseRekvisiidid clazz) : 
                base(clazz) {
        }
        
        protected new IMakseRekvisiidid clazz {
            get {
                return ((IMakseRekvisiidid)(base.clazz));
            }
        }
        
        public override void WriteXml(global::Xtee.Core.IXteeXmlWriter Writer) {
            base.WriteXml(Writer);
            if (clazz.ViiteNumber!=null) {
                Writer.WriteStartElement("ViiteNumber");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "string");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdString(((string)(clazz.ViiteNumber))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.MakseSelgitus!=null) {
                Writer.WriteStartElement("MakseSelgitus");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "string");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdString(((string)(clazz.MakseSelgitus))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.MakseSaaja!=null) {
                Writer.WriteStartElement("MakseSaaja");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "string");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdString(((string)(clazz.MakseSaaja))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.MakseSaajaKood!=null) {
                Writer.WriteStartElement("MakseSaajaKood");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "string");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdString(((string)(clazz.MakseSaajaKood))).ToString());
                Writer.WriteEndElement();
            }
            if (clazz.MakseValisriiki!=null) {
                Writer.WriteStartElement("MakseValisriiki");
                Writer.WriteTypeAttribute("http://www.w3.org/2001/XMLSchema", "string");
                Writer.WriteString(new global::Xtee.Core.Schema.XsdString(((string)(clazz.MakseValisriiki))).ToString());
                Writer.WriteEndElement();
            }
        }
        
        public override void ReadXml(global::Xtee.Core.IXteeXmlReader Reader) {
            base.ReadXml(Reader);
            if (Reader.LocalName=="ViiteNumber") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.ViiteNumber = new global::Xtee.Core.Schema.XsdString(Reader.ReadElementString("ViiteNumber")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="MakseSelgitus") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.MakseSelgitus = new global::Xtee.Core.Schema.XsdString(Reader.ReadElementString("MakseSelgitus")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="MakseSaaja") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.MakseSaaja = new global::Xtee.Core.Schema.XsdString(Reader.ReadElementString("MakseSaaja")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="MakseSaajaKood") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.MakseSaajaKood = new global::Xtee.Core.Schema.XsdString(Reader.ReadElementString("MakseSaajaKood")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
            if (Reader.LocalName=="MakseValisriiki") {
                if ((Reader.IsElementNil() == false)) {
                    clazz.MakseValisriiki = new global::Xtee.Core.Schema.XsdString(Reader.ReadElementString("MakseValisriiki")).Value;
                }
                else {
                    Reader.Skip();
                }
            }
        }
    }
}
